using System;
using System.ComponentModel.DataAnnotations;

namespace HengTong.Model.Db.Hr.Bill;

/// <summary>
/// 员工离职申请表
/// </summary>
[Display(Name = "员工离职申请", Description = "员工离职申请表单", GroupName = "人事业务表单")]
public class SysHrResignRequestBill : BaseBill
{
    [Required]
    [Display(Name = "员工ID", Description = "关联员工主键", GroupName = "离职信息")]
    public Guid? PersonId { get; set; }

    [Display(Name = "员工", Description = "关联的员工实体", GroupName = "离职信息")]
    public SysPerson Person { get; set; }

    // 离职信息
    [Display(Name = "员工工号", Description = "员工工号", GroupName = "离职信息")]
    [StringLength(128)]
    public string StaffNo { get; set; }

    [Display(Name = "员工姓名", Description = "员工姓名", GroupName = "离职信息")]
    [StringLength(128)]
    public string Name { get; set; }

    [Required]
    [Display(Name = "离职类型", Description = "离职类型", GroupName = "离职信息")]
    public ResignationType? ResignType { get; set; }

    [Required]
    [Display(Name = "离职日期", Description = "离职日期", GroupName = "离职信息")]
    public DateTime? ResignDate { get; set; }

    [Display(Name = "离职原因", Description = "离职原因", GroupName = "离职信息")]
    [StringLength(512)]
    public string ResignReason { get; set; }
}